home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group97a.txt
/
000074_icon-group-sender _Thu Mar 6 09:54:22 1997.msg
< prev
next >
Wrap
Internet Message Format
|
2000-09-20
|
3KB
Received: by cheltenham.cs.arizona.edu; Thu, 6 Mar 1997 13:36:24 MST
Date: Thu, 6 Mar 1997 09:54:22 -0800 (PST)
From: Brian Rogoff <bpr@best.com>
To: Ken Walker <kwalker@orville.premenos.com>
Cc: bpr@best.com, icon-group@cs.arizona.edu
Subject: Modules in Icon (Was Re: Recursive directory traversal in Icon)
In-Reply-To: <199703061655.IAA10379@varda.premenos.com>
Message-Id: <Pine.SGI.3.95.970306093623.4247A-100000@shellx.best.com>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Errors-To: icon-group-errors@cs.arizona.edu
Status: RO
Content-Length: 2693
On Thu, 6 Mar 1997, Ken Walker wrote:
> > From: Brian Rogoff <bpr@best.com>
> > Subject: Recursive directory traversal in Icon
> >
> > (2) Why no module system? I've found modules helpful in every language I've
> > worked with, and Icon doesn't seem to be different in that it could use
> > such a system. I noticed someone else mention this, but it is not in
> > the FAQ. Perl has benefitted greatly from the inclusion of modules.
>
> 6 or 7 years ago, I implemented modules in ISI's attempt at a commercial
> version of Icon (technicall, the U of A's version with proprietary extensions).
> We produced a product, but the venture didn't get anywhere. The module
> feature allowed better information hiding and helped manage the global
> name space. A more "modern" approach to dealing with these (and other)
> problems is "objects". Even before ISI's version of Icon, Clint Jeffery
> created IDOL, an object-oriented version of Icon, implemented with a
> preprocessor. The preprocessor is distributed as a part of the "Icon
> Program Library".
Given the choice between an object system, and a package/module
system, I'll take the package system. I see from your post that you are
a follower of Bertrandd Meyer ;-).
> It is possible to have both objects and modules in a language. Java packages
> are modules. Within them you can declare classes. Because classes cannot
> be nested and give the user of the class no control over visability,
> classes don't give implementer as much cabability for information hiding
> and doesn't give users as much control over their the global name space
> as you'd like. Note that while objects are useful for projects of all
> sizes, modules really become helpful only for larger projects.
(1) Lots of languages have both objects and modules. Ada 95, Perl 5,
Common Lisp, C++ (namespaces), ...
(2) Classes *can* be nested. Simula, BETA, Java 1.1, etc. Most OO
languages don't support this, but that just shows that there is
no consensus.
(3) I don't find objects all that useful for small projects. I've
even used languages without objects that had modules (SML)
which were quite pleasant.
All that said, an object system would be nice too, and maybe Idol is good
enough for now.
> Maybe someday there will be a verion of Icon with both features, but someone
> will have to be interested enough and have the resources to implement it.
It would be nice if this were standard Icon. You saw a need for it,
I see a need for it, some other guy on the net who is a user found its
omission distressing. Anyone from the Icon group at U of A ever address
this issue?
-- Brian